package com.ncd.type;

public class TypeConversionTest {
    /*
    * 类型转换的一道面试题
    * */
    public static void main(String[] args) {
         byte b1 = 4;
         byte b2 = 6;
//         byte b3 = b1 + b2;
        /*
         * 错误的原因：
         *           b1 和 b2 是两个byte类型，在运算的时候，会提升为int类型，提示之后
         *           就是两个int类型数据在运算，运算的结果也是int，将int类型的结果赋值给byte 类型
         *           的变量，属于大给小，不能直接给。
         * */
//        int b3 = b1 + b2;
        byte b3 = (byte) (b1 + b2);

        byte b = 3 + 4;
        System.out.println(b);
        //Java常量优化机制，在编译（javac）的时候,就会将3和4两个字面量进行运算，产生字节码文件byte b= 7

    }


}
